Field
The disclosed embodiments generally relate to a packet-processing technique for communications networks. More specifically, the disclosed embodiments relate to the design of a packet-processing network that is based on an InfiniBand switch fabric with local routing tables that specify nearest-neighbor connections and facilitate paths for packets through the InfiniBand switch fabric.
Related Art
In high-performance systems, a network or input/output (I/O) switch fabric typically plays an important role in traffic movement among servers. For example, with servers running multiple virtual machines (VMs) and many virtualized applications, network-packet streams coming out of a server often include an aggregation of different services that are needed by each of the VMs and their applications. Moreover, when there are a large numbers of servers and VMs in an InfiniBand switch fabric, the servers are typically split into multiple subnet domains. In order to communicate among subnets, InfiniBand subnet routing is typically used.
While packet switching within a subnet is well defined, routing among subnets is not well defined. In particular, typically there are multiple ways for packet routing to occur among subnets. One approach is based on the destination identifier (ID) of the target VM. Typically, each VM is assigned a globally unique ID (GUID), which is either locally or globally administered. If the locality of the VM is known, the possible routes or paths can be selected a priori and used to schedule packet transfers so long as the routing tables in the InfiniBand switch fabric include sufficient information.
However, in an InfiniBand switch fabric with a complicated topological configuration in which there are many networked switches and host VMs, the total number of routes addressable by a given host can be extremely large. Consequently, the routing tables in the switches cannot be scaled as the number of addressable VMs grows, which makes it increasingly difficult to manage a large InfiniBand switch fabric. This problem is compounded in systems with VM migrations, which can make it even more difficult to determine routes through the InfiniBand switch fabric.
Hence, what is needed is an InfiniBand switch fabric that facilitates communication of packets without the problems described above.